package com.nikolaj.kuzan.controller;

import com.nikolaj.kuzan.utils.CharToDouble;

/**
 * Created by Nikolay on 08.05.14.
 */

public class OrigSymbols {

    private static String i_32 =
            "11111100000000000000000111111111"+
            "11111100000000000000000111111111"+
            "11111100000000000000000111111111"+
            "11111100000000000001111111111111"+
            "11111100000000000001111111111111"+
            "11111100000000000001111111111111"+
            "11111100000000000001111111111111"+
            "11111100000000000001111111111111"+
            "11111100000000000001111111111111"+
            "11111100000000001111111111111111"+
            "11111100000000001111111000111111"+
            "11111100000000001111111000111111"+
            "11111100000000001111111000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100011111110000000000111111"+
            "11111100011111110000000000111111"+
            "11111100011111110000000000111111"+
            "11111111111111110000000000111111"+
            "11111111111111110000000000111111"+
            "11111111111111110000000000111111"+
            "11111111111111110000000000111111"+
            "11111111111110000000000000111111"+
            "11111111111110000000000000111111"+
            "11111111111110000000000000111111"+
            "11111111100000000000000000111111"+
            "11111111100000000000000000111111"+
            "11111111100000000000000000111111";

    private static String a_32 =
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000000011110000001111000000000"+
            "00000000011110000001111000000000"+
            "00000000011110000001111000000000"+
            "00000011111110000001111111000000"+
            "00000011111110000001111111000000"+
            "00000011111110000001111111000000"+
            "00000011100000000000000111000000"+
            "00000011100000000000000111000000"+
            "00000011100000000000000111000000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "00011111111111111111111111111000"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111";

    private static String b_32 =
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000";

    private static String k_32 =
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111"+
            "11111111100000000001111111111000"+
            "11111111100000000001111111111000"+
            "11111111100000000001111111111000"+
            "11111111100000001111111111000000"+
            "11111111100000001111111111000000"+
            "11111111100000001111111111000000"+
            "11111111100001111111111111000000"+
            "11111111100001111111111000000000"+
            "11111111100001111111111000000000"+
            "11111111100001111111111000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111100001111111111000000000"+
            "11111111100001111111111000000000"+
            "11111111100001111111111000000000"+
            "11111111100001111111111111000000"+
            "11111111100000001111111111000000"+
            "11111111100000001111111111000000"+
            "11111111100000001111111111000000"+
            "11111111100000000001111111111000"+
            "11111111100000000001111111111000"+
            "11111111100000000001111111111000"+
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111";


    private static String o_32 =
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000011111111111111111111000000"+
            "00000011111111111111111111000000"+
            "00000011111111111111111111000000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111100000000000000111111000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00011111111110000001111111111000"+
            "00000011111111111111111111000000"+
            "00000011111111111111111111000000"+
            "00000011111111111111111111000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000"+
            "00000000011111111111111000000000";

    private static String t_32 =
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000"+
            "00000000000001111110000000000000";

    private static String m_32 =
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111"+
            "11111111100000000000000111111111"+
            "11111111111110000001111111111111"+
            "11111111111110000001111111111111"+
            "11111111111110000001111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111111111111111111111111111111"+
            "11111100011111111111111000111111"+
            "11111100011111111111111000111111"+
            "11111100011111111111111000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000001111110000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111"+
            "11111100000000000000000000111111";

    private static String p_32 =
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111110000000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000000001111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111100000000001111111111000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111111111111000000000"+
            "11111111111111110000000000000000"+
            "11111111111111110000000000000000"+
            "11111111111111110000000000000000"+
            "11111111111111110000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000"+
            "11111100000000000000000000000000";



    private static String cat1_32 =
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000001000000000000000100"+
            "00000000001001000000000000000000"+
            "01000001111010000000000000000000"+
            "00001111111110000000000000000110"+
            "00011111111111000000000000001100"+
            "00001111111111000000000000111100"+
            "00001111111011100000111101111000"+
            "00001110111011100111111111110000"+
            "00001111111111111111111111110000"+
            "00001111111111111111111111110000"+
            "00001111110111111111111111110000"+
            "00000111101011111111111111110000"+
            "00000001000011111111111111110000"+
            "00000000000111111111111111110000"+
            "00000000111111111111111111110000"+
            "00000000011111111100000111111000"+
            "00000000011111111000110011111000"+
            "00000000011111111011110000111100"+
            "00000000011111110011110000011100"+
            "00000000011111110111100000001100"+
            "00000000011111000111000001000000"+
            "00000011101110000000000000000000"+
            "00000010001100000000000000000000"+
            "00000000001000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000"+
            "00000000000000000000000000000000";

    private static String cat2_32 =
            "10001000111111111111111111111110"+
            "01000000011111111111111111111000"+
            "00000011101111111111111111110000"+
            "00000011001111111111111111000000"+
            "00000000011111111111111101000000"+
            "00000100111111111101111011000000"+
            "01000010110111011001111000000001"+
            "11000010111111011001110100000001"+
            "11100011001111111111111000000001"+
            "11111011101101111111110000000011"+
            "11111001101101111111000000000111"+
            "11010000001001011111010100000111"+
            "11111000001000000000010100010111"+
            "11110011100000000000100000000111"+
            "11100001111000000000000100000111"+
            "11100000111100000000111100110011"+
            "10110100001100000001111000001011"+
            "00001100001100000001000000001111"+
            "10000000001111000001000000001111"+
            "10011110001111000111000000000111"+
            "11111100000111000111000100000111"+
            "11000000000111000110000110010011"+
            "10000000100011000100000000110011"+
            "10000000000001001000000000111111"+
            "10000000000000110000000000011111"+
            "10110010000000010000000001011111"+
            "11111000100000000000000000011111"+
            "00011000000000000000000001111111"+
            "00000000000000000000000010011111"+
            "11000000000100000000000001111111"+
            "11110000010000000000000000010111"+
            "11111100000000000000000000111111";

    private static String penguin_32 =
            "00000000000000011110000000000000"+
            "00000000000000111111100000000000"+
            "00000000000001111111110000000000"+
            "00000000000011111111110000000000"+
            "00000000000011111111111000000000"+
            "00000000000011011000111000000000"+
            "00000000000011111110111000000000"+
            "00000000000011110111111000000000"+
            "00000000000011000000111000000000"+
            "00000000000001000001111000000000"+
            "00000000000001100010101000000000"+
            "00000000000011111100111100000000"+
            "00000000000010010000011110000000"+
            "00000000000110000000011110000000"+
            "00000000001110010001111111000000"+
            "00000000001110000001111111100000"+
            "00000000011100000000001111100000"+
            "00000000011000000000000111110000"+
            "00000000111000000000000111110000"+
            "00000000111000100000000111110000"+
            "00000001110000100000000111110000"+
            "00000001110000100000000011110000"+
            "00000000010000100000000111110000"+
            "00000001000000000000001111101000"+
            "00001110000000000000011011001000"+
            "00001000000000000000011000001000"+
            "00001000000010000000011000000100"+
            "00001000000000000000111000000010"+
            "00001000000001110111111000000100"+
            "00001000000001111111111000010000"+
            "00000011100001111111111000100000"+
            "00000000001110000000001111000000";


    private static String flowers_32 =
            "00000010000000000000000000000000"+
            "00000110011010000000000000000000"+
            "00000110010011000000000000000000"+
            "00001100010001000000000000000000"+
            "00000010011001000000000000000000"+
            "00000010011010000000001000000000"+
            "00001110010001000000001011000000"+
            "00000110010001000000100101100000"+
            "00001010010101000110011001010100"+
            "00000001110010000100011001011001"+
            "00000011111110000000010001100000"+
            "00000001111100001000010000110010"+
            "00000000000000010010001001100100"+
            "00000000000000110000000001100000"+
            "00000000010000011010111001000000"+
            "00000000010001111001001100101000"+
            "00000000000000000100111100000000"+
            "00000000000000010011111100000000"+
            "00000000001000111000111111100000"+
            "00000000000000011110000001100000"+
            "00000000000000001111011000111110"+
            "00000000000000000011011000100100"+
            "00000010001100100000000000000000"+
            "00000011100100000000000000000010"+
            "00000001110000000000000001000110"+
            "00000000100000000000100000000100"+
            "00000000010001010000000100010100"+
            "00000000000101010000010101101000"+
            "00000000001000011000010100011000"+
            "00000000000000000001011101010000"+
            "00000000000110001100010001100000"+
            "00000000000001000001010001010000";




    public static Double[] getISymbolVector (){
        char[] iCharSymbol = i_32.toCharArray();
        Double[] iDoubleSymbol = new Double[iCharSymbol.length];

        for(int i = 0; i < iCharSymbol.length; i++){
            iDoubleSymbol[i] = CharToDouble.getDoubleFromChar(iCharSymbol[i]);
        }
        return iDoubleSymbol;
    }

    public static Double[] getASymbolVector (){
        char[] aCharSymbol = a_32.toCharArray();
        Double[] aDoubleSymbol = new Double[aCharSymbol.length];

        for(int i = 0; i < aCharSymbol.length; i++){
            aDoubleSymbol[i] = CharToDouble.getDoubleFromChar(aCharSymbol[i]);
        }
        return aDoubleSymbol;
    }

    public static Double[] getBSymbolVector (){
        char[] bCharSymbol = b_32.toCharArray();
        Double[] bDoubleSymbol = new Double[bCharSymbol.length];

        for(int i = 0; i < bCharSymbol.length; i++){
            bDoubleSymbol[i] = CharToDouble.getDoubleFromChar(bCharSymbol[i]);
        }
        return bDoubleSymbol;
    }

    public static Double[] getKSymbolVector (){
        char[] kCharSymbol = k_32.toCharArray();
        Double[] kDoubleSymbol = new Double[kCharSymbol.length];

        for(int i = 0; i < kCharSymbol.length; i++){
            kDoubleSymbol[i] = CharToDouble.getDoubleFromChar(kCharSymbol[i]);
        }
        return kDoubleSymbol;
    }

    public static Double[] getOSymbolVector (){
        char[] oCharSymbol = o_32.toCharArray();
        Double[] oDoubleSymbol = new Double[oCharSymbol.length];

        for(int i = 0; i < oCharSymbol.length; i++){
            oDoubleSymbol[i] = CharToDouble.getDoubleFromChar(oCharSymbol[i]);
        }
        return oDoubleSymbol;
    }

    public static Double[] getTSymbolVector (){
        char[] tCharSymbol = t_32.toCharArray();
        Double[] tDoubleSymbol = new Double[tCharSymbol.length];

        for(int i = 0; i < tCharSymbol.length; i++){
            tDoubleSymbol[i] = CharToDouble.getDoubleFromChar(tCharSymbol[i]);
        }
        return tDoubleSymbol;
    }

    public static Double[] getMSymbolVector (){
        char[] mCharSymbol = m_32.toCharArray();
        Double[] mDoubleSymbol = new Double[mCharSymbol.length];

        for(int i = 0; i < mCharSymbol.length; i++){
            mDoubleSymbol[i] = CharToDouble.getDoubleFromChar(mCharSymbol[i]);
        }
        return mDoubleSymbol;
    }

    public static Double[] getPSymbolVector (){
        char[] pCharSymbol = p_32.toCharArray();
        Double[] pDoubleSymbol = new Double[pCharSymbol.length];

        for(int i = 0; i < pCharSymbol.length; i++){
            pDoubleSymbol[i] = CharToDouble.getDoubleFromChar(pCharSymbol[i]);
        }
        return pDoubleSymbol;
    }

    public static Double[] getCat1Vector (){
        char[] catCharSymbol = cat1_32.toCharArray();
        Double[] catDoubleSymbol = new Double[catCharSymbol.length];

        for(int i = 0; i < catCharSymbol.length; i++){
            catDoubleSymbol[i] = CharToDouble.getDoubleFromChar(catCharSymbol[i]);
        }
        return catDoubleSymbol;
    }

    public static Double[] getCat2Vector (){
        char[] catCharSymbol = cat2_32.toCharArray();
        Double[] catDoubleSymbol = new Double[catCharSymbol.length];

        for(int i = 0; i < catCharSymbol.length; i++){
            catDoubleSymbol[i] = CharToDouble.getDoubleFromChar(catCharSymbol[i]);
        }
        return catDoubleSymbol;
    }

    public static Double[] getPenguinVector (){
        char[] penguinCharSymbol = penguin_32.toCharArray();
        Double[] penguinDoubleSymbol = new Double[penguinCharSymbol.length];

        for(int i = 0; i < penguinCharSymbol.length; i++){
            penguinDoubleSymbol[i] = CharToDouble.getDoubleFromChar(penguinCharSymbol[i]);
        }
        return penguinDoubleSymbol;
    }

    public static Double[] getFlowersVector (){
        char[] flowersCharSymbol = flowers_32.toCharArray();
        Double[] flowersDoubleSymbol = new Double[flowersCharSymbol.length];

        for(int i = 0; i < flowersCharSymbol.length; i++){
            flowersDoubleSymbol[i] = CharToDouble.getDoubleFromChar(flowersCharSymbol[i]);
        }
        return flowersDoubleSymbol;
    }

}